jQuery(document).ready(function(){
	$("#btnEnviar").click(function(){
		if(event.preventDefault){
			event.preventDefault();
		}else{
			event.returnValue = false; 
		}

		$.post(base_url + "index.php/usuario/guardar", $("#frmUsuario").serialize(), function(data) {
			alert(data.mensaje);
		}, 'json');
	});
});


/**
 *
 * Ok suponiendo que el alumno no tiene muchas ganas de pensar en una contraseña tiene la posibilidad de generarla
 * en automático, pero lo recomendable es que sea el mismo alumno sea quien la "invente"
 * 
 * @param {String} idinput Id del input en el cual deseamos colocar la contraseña generada 
 * @autor Sergio Morlán Páramo
 **/

function insertar_pass(idinput, tamanio){
    $.post(base_url + "index.php/jefatura/get_genPassword",{length: tamanio}, function(data) {
        $("#"+idinput).val(data);
        $("#"+idinput).focus();
    });
}


/**
 *
 * Esta función valida el formato correcto para un email
 * 
 * @param {string} inputemail Id del input en el cual queremos validar la sintaxis del email
 * @returns {bolean}
 * 
 * @autor Isaac Limón González, Sergio Morlán Páramo
 **/
function emailcheck(inputemail){

    if(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test($("#"+inputemail).val()))
    {
        return true;
    }
    else
    {

        $("#"+inputemail).addClass("input_txt_error");
        $("#"+inputemail).focusout(function(){
            $("#"+inputemail).removeClass("input_txt_error");
        })

        $("#"+inputemail).after("<div class='input_msg_error' id='"+inputemail+"_msg_error' style='display: none;'>!Email Incorrecto!</div>")
        


        $("#"+inputemail+"_msg_error").animate({
            height: ['toggle', 'swing']
        }, {
            duration: 200,
            complete: function(fx ){
                $(this).css("left","auto");
            }
        });

        $("#"+inputemail).focus();
        return false;       
    }  
}

/**
 *
 * Esta función que nos ayudará a hacer una validación previa antes del envío del formulario,
 * Permite que el usuario no salga de la página de captura si es que ha cometido un error
 * mostrando un mensaje en la parte de abajo del input en el cual lo cometió. Los parámetros:
 * 
 * @param {object} formulario El formulario que deseamos enviar
 * @param {number[]} array_inputsIgnorar Un array con las posiciones de los inputs que deseamos excluir de la validación
 * @param {string} ajax_ruta Indicaremos la ruta en caso de requerir envio mediante ajax, de lo contrario se evaluará como false y se enviara el formulario por submit (POST)
 * @param {String} Id del input en el cual queremos validar la sintaxis del email
 * @returns {bolean}
 * 
 * @autor Isaac Limón González, Sergio Morlán Páramo
 **/
function validarPreEnvio(formulario, array_inputsIgnorar, ajax_ruta, inputemail){
    var counter =0;
    var counter_exclude=0;
    var error= false;
    var check = true;
    $(".input_msg_error").remove();
    $(".input_msg_warning").remove();
    $(".input_msg").remove();
   

   
    for(counter=0; counter<formulario.length; counter++){
        for(counter_exclude=0;counter_exclude<array_inputsIgnorar.length; counter_exclude++){
            if(counter == array_inputsIgnorar[counter_exclude]){
                check = false;
                break;
            }else{
                check = true;
            }
        }
        if(check){
            if(formulario[counter].value==""){
                $("#"+formulario[counter].id).addClass("input_txt_error");
                $("#"+formulario[counter].id).focusout(function(){
                    $(this).removeClass("input_txt_error");
                })
                $("#"+formulario[counter].id).after("<div class='input_msg_error' id='"+formulario[counter].id+"_msg_error' style='display: none;'>¡Este campo no puede estar vacio!</div>")
                $("#"+formulario[counter].id+"_msg_error").animate({
                    height: ['toggle', 'swing']
                }, {
                    duration: 200,
                    complete: function(fx ){
                        $(this).css("left","auto");
                    }
                });
                formulario[counter].focus();
                error=true;
                return 0;
            }
        }
      
    }
    
    if(inputemail){
        if(emailcheck(inputemail)){
        }else{
            error = true;
            return 0;
            
        }
    }
         
    /*if ajax true*/
    if (ajax_ruta){
        var cadenaDatos = '';
        for(counter=0; counter<formulario.length; counter++){
            cadenaDatos += formulario[counter].name+"="+formulario[counter].value;
            if(counter<(formulario.length-1)){
                cadenaDatos += "&";
                
            }

        }
        $.post(base_url + "index.php/"+ajax_ruta,cadenaDatos, function(data) {
            alert(cadenaDatos);
        });
      
    }else{
        if (error){
            return 0;
        }else{
            for(counter=0; counter<formulario.length; counter++){
                if(formulario[counter].value==""){
                    formulario[counter].value=null;
                }
            }
            formulario.submit()
        }
    }
}
